const fs = require("fs");
// fs.mkdir("./a332",(err)=>{
//     if(err != null){
//         console.log("创建文件夹失败"+err);
//     }else{
//         console.log("创建文件夹成功");
//         fs.writeFile("./a332/a.txt","测试文本",(err)=>{
//             if(err != null){
//                 console.log("创建文件失败"+err);
//             }else{
//                 console.log("创建文件成功");
//             }
//         });
//     }
// });

// console.log(fs.statSync(__filename).isFile());

// fs.mkdir("./移动2203czy",(err)=>{
//     if(err != null){
//         console.log("创建文件夹失败"+err);
//     }else{
//         console.log("创建文件夹成功");
//         fs.writeFile("./移动2203czy/b.txt","这是b.txt",(err)=>{
//             if(err != null){
//                 console.log("创建文件失败"+err);
//             }else{
//                 console.log("创建文件成功");
//             }
//         });
//     }
// });

// fs.readdir("./移动2203czy",(err,files)=>{
//     if(err != null){
//         console.log("读取文件夹失败"+err);
//     }else{
//         console.log("读取文件夹成功"+files);
//     }
// })

// if(fs.existsSync("./a.txt")){
//     console.log("文件存在");
// }else{
//     console.log("文件不存在");
//     fs.writeFile("./a.txt","测试文本",(err)=>{
//         if(err != null){
//             console.log("创建文件失败"+err);
//         }else{
//             console.log("创建文件成功");
//         }
//     });
// }

// fs.renameSync("./a.txt","./c.txt");

// fs.rmdir("./a332",(err)=>{
// if(err != null){
//     console.log("删除文件夹失败"+err);
// }else{
//     console.log("删除文件成功");
// }});

// fs.unlinkSync("./a332/a.txt")

// fs.watchFile("./移动2203czy/b.txt",(curr,prev)=>{
//     console.log("修改前大小"+prev.size);
//     console.log("修改后大小"+curr.size);
//     fs.unwatchFile("./移动2203czy/b.txt")
// })

// fs.mkdir("./files", (err) => {
//     if (err != null) {
//         console.log("创建文件夹失败" + err);
//     } else {
//         console.log("创建文件夹成功");
//         //创建5个子文件夹
//         for (let i = 1; i < 6; i++) {
//             fs.mkdirSync("./files/czy" + i)
//         };
//         //创建10个子文件
//         for (let i = 1; i < 11; i++) {
//             fs.writeFileSync("./files/" + i + "czy.txt", i + "chenzeyu")
//         };
//     }
// });

// fs.readdir("./files", (err, files) => {
//     files.forEach((val) => {
//         // if (fs.statSync("./files/" + val).isDirectory()) {

//         // }
//         if (fs.statSync("./files/" + val).isFile() && val.split(".").pop() === "css") {
//             fs.readFile("./files/" + val, (err, data) => {
//                 fs.appendFileSync("./files/dist.css", data + "\n")
//             })
//         }
//         // if (fs.statSync("./files/" + val).isFile() && val.split(".").pop() === "txt") {
//         //     fs.renameSync("./files/" + val, "./files/" + val.split(".").shift() + ".jpg");
//         // }

//     })
// });

// const path = require("path");
// console.log("目录名: "+path.dirname(__filename));
// console.log("文件名: "+path.basename(__filename));
// console.log("扩展名: "+path.extname(__filename));
// console.log("是否绝对路径: "+path.isAbsolute(__filename));

//9.	删除不为空的目录。（提示：使用同步方式）(失败)
fs.readdir("./files", (err, files) => {
    files.forEach((val) => {
        if (fs.statSync("./files/" + val).isDirectory()) {
            if (fs.readdirSync("./files/" + val).length != 0) {
                deletes("./files/" + val);
                fs.rmdir("./files/", (err) => {

                });
            } else {
                fs.rmdir("./files/" + val, (err) => {

                });
            }

        }
        if (fs.statSync("./files/" + val).isFile()) {
            fs.unlink("./files/" + val, (err) => {

            });
        }

    })
});

function deletes(address) {
    fs.readdir(address, (err, files) => {
        files.forEach((val) => {
            if (fs.statSync(address + "/" + val).isDirectory()) {
                if (fs.readdirSync(address + "/" + val).length != 0) {
                    deletes(address + "/" + val);
                    fs.rmdir(address, (err) => {

                    });
                } else {
                    fs.rmdir(address + "/" + val, (err) => {

                    });
                }

            }
            if (fs.statSync(address + "/" + val).isFile()) {
                fs.unlink(address + "/" + val, (err) => {

                });
            }

        })
    });
}